package top.ahzy.seobench.websocket;

import javax.websocket.HandshakeResponse;
import javax.websocket.server.HandshakeRequest;
import javax.websocket.server.ServerEndpointConfig;
import java.util.List;
import java.util.Map;

public class AuthMessageSocket extends ServerEndpointConfig.Configurator {

    @Override
    public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) {
        // 获取HTTP请求中的鉴权信息，例如token
        Map<String, List<String>> he = request.getHeaders();
        List<String> tokens = he.get("Authorization");

        // ng服务器鉴权处理
//        if (tokens == null || tokens.isEmpty() || !isTokenValid(tokens.get(0))) {
//            throw new SecurityException("令牌无效或丢失");
//        }

        // 如果鉴权通过，则不需要做额外操作
    }

    private boolean isTokenValid(String token) {
        // 实现鉴权逻辑，例如检查token是否有效
        // 这里仅为示例，应根据实际情况实现鉴权逻辑
        return "valid_token".equals(token);
    }
}
